
package logicBusiness;


import DAO.EstudianteLogroDao;
import java.util.List;
import javax.persistence.*;
//import models.EstudianteLogro;
import models.Estudiante;

public class EstudianteLogroBL {

    private int ok = 0;

    public int crearEstudianteLogro(Integer idEstudiante, Integer idLogro, String calificacionLogro) {
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        EstudianteLogroDao dao = new EstudianteLogroDao(em);

        em.getTransaction().begin();
//        EstudianteLogro eslg = dao.crearEstudianteLogro(idEstudiante, idLogro, calificacionLogro);
        em.getTransaction().commit();
        em.close();
        emf.close();
//        if (eslg == null) {
//            ok = 0;
//        } else if (eslg.getIdestudiante().equals(idEstudiante) && eslg.getIdlogro().equals(idLogro)) {
//            ok = 1;
//        }

        return ok;
    }

    public int crearEstudianteLogro(List<Estudiante> listaEstudiantes, Integer idLogro, String calificacionLogro) {


        for (int i = 0; i < listaEstudiantes.size(); i++) {
            EntityManagerFactory emf =
                    Persistence.createEntityManagerFactory("sischoolPU");
            EntityManager em = emf.createEntityManager();
            EstudianteLogroDao dao = new EstudianteLogroDao(em);
            em.getTransaction().begin();
//            EstudianteLogro eslg = dao.crearEstudianteLogro(Integer.parseInt(listaEstudiantes.get(i).getIdEstudiante() + ""), idLogro, calificacionLogro);
            em.getTransaction().commit();
            em.close();
            emf.close();
//            if (eslg == null) {
//                ok = 0;
//                System.out.println("Error en la creación");
//            } else if (eslg.getIdestudiante().equals(Integer.parseInt(listaEstudiantes.get(i).getIdEstudiante() + "")) && eslg.getIdlogro().equals(idLogro)) {
//                ok = 1;
//            }
        }


        return ok;
    }

    /*
    public Area instanciarArea(Object objeto) {
    EntityManagerFactory emf =
    Persistence.createEntityManagerFactory("sischoolPU");
    EntityManager em = emf.createEntityManager();
    AreaDao dao = new AreaDao(em);
    em.getTransaction().begin();
    Area ar = dao.intanciarArea(objeto);
    em.getTransaction().commit();
    em.close();
    emf.close();
    return ar;
    }
     */
    /*
    public void borrarArea(Integer idArea) {
    EntityManagerFactory emf =
    Persistence.createEntityManagerFactory("sischoolPU");
    EntityManager em = emf.createEntityManager();
    AreaDao dao = new AreaDao(em);
    em.getTransaction().begin();
    dao.borrarArea(idArea);
    em.getTransaction().commit();
    em.close(); //quitar cuando se tenga montado el serv
    emf.close();//quitar cuando se tenga montado el serv
    }
     */
    public boolean encontrarCalificacionLogroEst(String idEst, String idLogro) {
        // find an user
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        EstudianteLogroDao dao = new EstudianteLogroDao(em);
//        EstudianteLogro est = dao.encontrarCalificacionLogroEst(idEst, idLogro);
        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv
//        System.out.println("Estudiante: " + est.getIdestudiante() + " Logro: " + est.getIdlogro());
//        if (est.getCalificacionlogro() == null || est.getCalificacionlogro().equals("n")) {
//            return false;
//        } else {
//            return true;
//        }
        return false;
    }

    /*
    public int encontrarArea(String nombreArea) {
    // find an user
    EntityManagerFactory emf =
    Persistence.createEntityManagerFactory("sischoolPU");
    EntityManager em = emf.createEntityManager();
    AreaDao dao = new AreaDao(em);
    Area ar = dao.encontrarArea(nombreArea);
    em.close(); //quitar cuando se tenga montado el serv
    emf.close();//quitar cuando se tenga montado el serv
    if (ar == null) {
    ok = 0;
    } else if (ar.getNombreArea().equals(nombreArea)) {
    ok = ar.getId();
    }
    return ok;

    }
     */
    /*
    public Area consultarArea(String nombreArea) {
    // find an user
    EntityManagerFactory emf =
    Persistence.createEntityManagerFactory("sischoolPU");
    EntityManager em = emf.createEntityManager();
    AreaDao dao = new AreaDao(em);
    Area ar = dao.encontrarArea(nombreArea);
    em.close(); //quitar cuando se tenga montado el serv
    emf.close();//quitar cuando se tenga montado el serv
    return ar;
    }
     */

    public int actualizarCalificaciones(String idEstudiante, String idLogro,String calificacion) {
    // find an user
    EntityManagerFactory emf =
    Persistence.createEntityManagerFactory("sischoolPU");
    EntityManager em = emf.createEntityManager();
    EstudianteLogroDao dao = new EstudianteLogroDao(em);
    em.getTransaction().begin();
//    EstudianteLogro estlg = dao.actualizarCalificaciones(idEstudiante,idLogro,calificacion);
    em.getTransaction().commit();
    em.close(); //quitar cuando se tenga montado el serv
    emf.close();//quitar cuando se tenga montado el serv
//    if (estlg == null) {
//    ok = 0;
//    } else{
//    ok = 1;
//    }
    return ok;

    }

    /*
    public List consultarAreas() {

    List results;
    EntityManagerFactory emf =
    Persistence.createEntityManagerFactory("sischoolPU");
    EntityManager em = emf.createEntityManager();
    AreaDao dao = new AreaDao(em);
    results = dao.encontrarAreas();
    em.close(); //quitar cuando se tenga montado el serv
    emf.close();//quitar cuando se tenga montado el serv
    return results;
    }
     */
    /*
    public List consultarAreasId() {
    List results;
    EntityManagerFactory emf =
    Persistence.createEntityManagerFactory("sischoolPU");
    EntityManager em = emf.createEntityManager();
    AreaDao dao = new AreaDao(em);
    results = dao.encontrarAreasId();
    em.close(); //quitar cuando se tenga montado el serv
    emf.close();//quitar cuando se tenga montado el serv
    return results;
    }
     * */
//    public List<EstudianteLogro> consultarListaEstLogros(Integer idAsignatura) {
//        List<EstudianteLogro> results;
//        EntityManagerFactory emf =
//                Persistence.createEntityManagerFactory("sischoolPU");
//        EntityManager em = emf.createEntityManager();
//        EstudianteLogroDao dao = new EstudianteLogroDao(em);
//        results = dao.encontrarEstudianteLogroGrado(idAsignatura);
//        em.close(); //quitar cuando se tenga montado el serv
//        emf.close();//quitar cuando se tenga montado el serv
//        return results;
//    }

    public void persist(Object object) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();
        try {
            em.persist(object);
            em.getTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
    }
}


